/*
* 命名空间: Project.Project
*
* 功 能： T_SalaryCount实体类
*
* 类 名： T_SalaryCountEntity
*
* Version   变更日期            负责人     变更内容
* ─────────────────────────────────────────────────
* V1.0.1    2020/02/21 16:44:49 罗维     创建
*
* Copyright (c) 2019 Lir Corporation. All rights reserved.
*/

namespace Project.Model
{
    using System;
    using Tool.Model;

    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    [DBTableInfo(TableName = "T_SalaryCount")]
    public class T_SalaryCountEntity
    {

        /// <summary>
        /// 
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "ID",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public int ID
        {
            get; set;
        }

        /// <summary>
        /// 机构代码
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "DepNo",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public long DepNo
        {
            get; set;
        }

        /// <summary>
        /// 工资单号，插入前按一定规则生成
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "FNO",Required = true,DefaultValue = "",IsPrimarykey = false)]
        public string FNO
        {
            get; set;
        }

        /// <summary>
        /// 有些工资发现金，领导工资要员工签字。这里是存拍照图片的路径
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "TillPic",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string TillPic
        {
            get; set;
        }

        /// <summary>
        /// 员工代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "UserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string UserNo
        {
            get; set;
        }

        /// <summary>
        /// 员工姓名
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "Name",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string Name
        {
            get; set;
        }

        /// <summary>
        /// 姓名拼音吗
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "PYM",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string PYM
        {
            get; set;
        }

        /// <summary>
        /// 性别
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 4,DecimalDigits = 0,ColumnName = "Sex",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string Sex
        {
            get; set;
        }

        /// <summary>
        /// 身份证号码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "Code",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string Code
        {
            get; set;
        }

        /// <summary>
        /// 工程代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "ProjectNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string ProjectNo
        {
            get; set;
        }

        /// <summary>
        /// 工程名称
        /// </summary>
        [DBFieldInfo(ByteLength = 400,DataLength = 200,DecimalDigits = 0,ColumnName = "ProjectName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string ProjectName
        {
            get; set;
        }

        /// <summary>
        /// 工种ID
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "WorkTypeID",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public int? WorkTypeID
        {
            get; set;
        }

        /// <summary>
        /// 工种名称
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "WorkTypeName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string WorkTypeName
        {
            get; set;
        }

        /// <summary>
        /// 考勤天数
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "WorkDay",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? WorkDay
        {
            get; set;
        }

        /// <summary>
        /// 日工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 2,ColumnName = "DayMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? DayMoney
        {
            get; set;
        }

        /// <summary>
        /// 调薪以后的工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 2,ColumnName = "DayMoneyST",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? DayMoneyST
        {
            get; set;
        }

        /// <summary>
        /// 考勤天数X考勤表的工资=实发工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 1,ColumnName = "TWorkMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? TWorkMoney
        {
            get; set;
        }

        /// <summary>
        /// 加班小时
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 1,ColumnName = "OverTime",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? OverTime
        {
            get; set;
        }

        /// <summary>
        /// 员工表每小时的加班工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 1,ColumnName = "OverMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? OverMoney
        {
            get; set;
        }

        /// <summary>
        /// 加班工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 1,ColumnName = "TOverMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? TOverMoney
        {
            get; set;
        }

        /// <summary>
        /// 借款金额
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "LoanMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? LoanMoney
        {
            get; set;
        }

        /// <summary>
        /// 抵扣金额-有员工借款5000，实际工资3000 工资就负数，这个时候就抵扣3000 ，工资照样结算，实发工资为零，财务就不发
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 2,ColumnName = "SubLoanMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? SubLoanMoney
        {
            get; set;
        }

        /// <summary>
        /// 借款以后还款金额
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "LoanBackMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? LoanBackMoney
        {
            get; set;
        }

        /// <summary>
        /// 报销金额-这里没有用
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "ExpensesMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? ExpensesMoney
        {
            get; set;
        }

        /// <summary>
        /// 计件工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 2,ColumnName = "AmountMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? AmountMoney
        {
            get; set;
        }

        /// <summary>
        /// 交通补贴
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "CarBT",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal CarBT
        {
            get; set;
        }

        /// <summary>
        /// 电话补贴
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "PhoneBT",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal PhoneBT
        {
            get; set;
        }

        /// <summary>
        /// 奖金补贴
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "BonusBT",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal BonusBT
        {
            get; set;
        }

        /// <summary>
        /// 其他补贴
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "OtherBT1",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal OtherBT1
        {
            get; set;
        }

        /// <summary>
        /// 其他补贴
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 16,DecimalDigits = 1,ColumnName = "OtherBT2",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal OtherBT2
        {
            get; set;
        }

        /// <summary>
        /// 始发工资-减去借款（后面领导可能少抵扣一点）+各种补贴奖金=实发
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 18,DecimalDigits = 1,ColumnName = "RealMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? RealMoney
        {
            get; set;
        }

        /// <summary>
        /// 发放人
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "SendPerson",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string SendPerson
        {
            get; set;
        }

        /// <summary>
        /// 发放时间
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "SendTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? SendTime
        {
            get; set;
        }

        /// <summary>
        /// 银行卡号
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "BanKNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string BanKNo
        {
            get; set;
        }

        /// <summary>
        /// 银行名称
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "BanKName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string BanKName
        {
            get; set;
        }

        /// <summary>
        /// 有流程的时候表示是否审核（如果是多人审批） 暂时不管
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "ChectState",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public int? ChectState
        {
            get; set;
        }

        /// <summary>
        /// 审核日期
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "CheckDate",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? CheckDate
        {
            get; set;
        }

        /// <summary>
        /// 审核人代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "CheckUserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string CheckUserNo
        {
            get; set;
        }

        /// <summary>
        /// 审核人姓名
        /// </summary>
        [DBFieldInfo(ByteLength = 40,DataLength = 20,DecimalDigits = 0,ColumnName = "CheckUserName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string CheckUserName
        {
            get; set;
        }

        /// <summary>
        /// 发放人姓名
        /// </summary>
        [DBFieldInfo(ByteLength = 40,DataLength = 20,DecimalDigits = 0,ColumnName = "SendPersonName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string SendPersonName
        {
            get; set;
        }

        /// <summary>
        /// 修改时间
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "UpdateTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? UpdateTime
        {
            get; set;
        }

        /// <summary>
        /// 修改人代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "UpdateUserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string UpdateUserNo
        {
            get; set;
        }

        /// <summary>
        /// 修改人名字
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "UpdateUserName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string UpdateUserName
        {
            get; set;
        }

        /// <summary>
        /// 如果存在多级审批，表示走到第几步
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "Step",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public int? Step
        {
            get; set;
        }

        /// <summary>
        /// 流程节点ID
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "FlowNode",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public int? FlowNode
        {
            get; set;
        }

        /// <summary>
        /// 发放状态0 未发，1已发
        /// </summary>
        [DBFieldInfo(ByteLength = 1,DataLength = 3,DecimalDigits = 0,ColumnName = "FState",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public byte FState
        {
            get; set;
        }

        /// <summary>
        /// 
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "OpenUserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string OpenUserNo
        {
            get; set;
        }

        /// <summary>
        /// 
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "OpenUserName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string OpenUserName
        {
            get; set;
        }

        /// <summary>
        /// 
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "OpenTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? OpenTime
        {
            get; set;
        }

        /// <summary>
        /// 工资单年份
        /// </summary>
        [DBFieldInfo(ByteLength = 20,DataLength = 10,DecimalDigits = 0,ColumnName = "MyYear",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string MyYear
        {
            get; set;
        }

        /// <summary>
        /// 工资单月份
        /// </summary>
        [DBFieldInfo(ByteLength = 20,DataLength = 10,DecimalDigits = 0,ColumnName = "MyMonth",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string MyMonth
        {
            get; set;
        }

        /// <summary>
        /// 支付方式ID
        /// </summary>
        [DBFieldInfo(ByteLength = 4,DataLength = 10,DecimalDigits = 0,ColumnName = "PayMethodID",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public int? PayMethodID
        {
            get; set;
        }

        /// <summary>
        /// 支付方式名称
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "PayMethodName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string PayMethodName
        {
            get; set;
        }

        /// <summary>
        /// 创建人代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "CreateUserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string CreateUserNo
        {
            get; set;
        }

        /// <summary>
        /// 创建人名称
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "CreateUserName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string CreateUserName
        {
            get; set;
        }

        /// <summary>
        /// 创建时间
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "CreateTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? CreateTime
        {
            get; set;
        }

        /// <summary>
        /// 是否异常工资 0：正常 1表示异常
        /// </summary>
        [DBFieldInfo(ByteLength = 1,DataLength = 3,DecimalDigits = 0,ColumnName = "Question",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public byte? Question
        {
            get; set;
        }

        /// <summary>
        /// 工资单备注
        /// </summary>
        [DBFieldInfo(ByteLength = 1000,DataLength = 500,DecimalDigits = 0,ColumnName = "Rmark",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string Rmark
        {
            get; set;
        }

        /// <summary>
        /// 调薪后补贴多少钱
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 10,DecimalDigits = 2,ColumnName = "RepairMoney",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? RepairMoney
        {
            get; set;
        }

        /// <summary>
        /// 调薪涉及靠天总天数（承诺工资X考勤-考勤天数X考勤工资）=补贴工资
        /// </summary>
        [DBFieldInfo(ByteLength = 9,DataLength = 10,DecimalDigits = 2,ColumnName = "RepairDays",Required = false,DefaultValue = "((0))",IsPrimarykey = false)]
        public decimal? RepairDays
        {
            get; set;
        }

        /// <summary>
        /// 调薪开始日期（我要给你什么时间范围内的考勤，工资进行调整）
        /// </summary>
        [DBFieldInfo(ByteLength = 3,DataLength = 10,DecimalDigits = 0,ColumnName = "BegTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? BegTime
        {
            get; set;
        }

        /// <summary>
        /// 调薪截止日系 
        /// </summary>
        [DBFieldInfo(ByteLength = 3,DataLength = 10,DecimalDigits = 0,ColumnName = "EndTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? EndTime
        {
            get; set;
        }

        /// <summary>
        /// 流程退回时间
        /// </summary>
        [DBFieldInfo(ByteLength = 8,DataLength = 23,DecimalDigits = 3,ColumnName = "BackTime",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public DateTime? BackTime
        {
            get; set;
        }

        /// <summary>
        /// 退回人代码
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "BackUserNo",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string BackUserNo
        {
            get; set;
        }

        /// <summary>
        /// 退款人姓名
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "BackUserName",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string BackUserName
        {
            get; set;
        }

        /// <summary>
        /// 退回备注
        /// </summary>
        [DBFieldInfo(ByteLength = 100,DataLength = 50,DecimalDigits = 0,ColumnName = "BackRmark",Required = false,DefaultValue = "",IsPrimarykey = false)]
        public string BackRmark
        {
            get; set;
        }
    }
}
